import Vue from "vue";
import axios from './http'; //开启路由拦截器
import App from "./App.vue";
import store from "./store";
import './plugins/element.js' //element按需引入
import router from "./router";
import './assets/css/global.css' //导入全局样式
import 'element-ui/lib/theme-chalk/index.css';
import Good from "./components/General/SingleGood.vue"//单个商品


Vue.prototype.$http = axios;
Vue.prototype.$variate = {};//全局变量
Vue.component(Good.name, Good)//单个商品全局组件
Vue.prototype.$getImg = "http://39.100.7.70:81/";


// 拦截器的配置一定要在实例挂在之前
axios.interceptors.request.use(
    // 有两个回调 请求成功 请求失败
    (config) => {
        // config是我们请求配置文件，当我们做完一些事情后一定要将config return
        // 我们设置一些请求头的信息，或者数据提示
        return config;
    },
    (error) => {
        return Promise.reject(error)
    }
)

//响应拦截
axios.interceptors.response.use(
    //res就是我们等到的数据
    (res) => {
        return res.data; //拦截到data里面的数据
    },
    (error) => {
        console.log(error);
        router.push('/error')
        return error
    }
)

// import VueLazyload from 'vue-lazyload'
// Vue.use(VueLazyload, {
//     prreLoad: 1.3, //距离当前页面底部的高度
//     error: '', //加载失败现实的图片
//     loading: '', //加载中显示的图片
//     attempt: 1, //加载失败，最最多重试的次数
// });

Vue.filter('time', function (val) {
    let now = new Date(val)
    var Y = now.getFullYear()
    var M = now.getMonth() + 1
    var D = now.getDate()
    var H = now.getHours() + ''
    H = H.padStart(2, 0)
    var m = now.getMinutes() + ''
    m = m.padStart(2, 0)
    var s = now.getSeconds() + ''
    s = s.padStart(2, 0)
    return ` ${Y}-${M}-${D} ${H}:${m}:${s}`
})

import Router from 'vue-router'
const originalPush = Router.prototype.push
Router.prototype.push = function push(location) {
    return originalPush.call(this, location).catch(err => err)
}
Vue.config.productionTip = false;

new Vue({
    router,
    store,
    render: h => h(App)
}).$mount("#app");